[INFO] cloning repository https://github.com/DEYLNN/axumrouter-backend
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DEYLNN/axumrouter-backend" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDEYLNN%2Faxumrouter-backend", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDEYLNN%2Faxumrouter-backend'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b45d40a6395c66197840bf1179878555ccb778e8
[INFO] checking DEYLNN/axumrouter-backend against master#df1ae0f7dd168513de2d89beb2cb7a95d4fdc118 for pr-159343
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDEYLNN%2Faxumrouter-backend" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/DEYLNN/axumrouter-backend
[INFO] finished tweaking git repo https://github.com/DEYLNN/axumrouter-backend
[INFO] tweaked toml for git repo https://github.com/DEYLNN/axumrouter-backend written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/DEYLNN/axumrouter-backend on toolchain df1ae0f7dd168513de2d89beb2cb7a95d4fdc118
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+df1ae0f7dd168513de2d89beb2cb7a95d4fdc118" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/DEYLNN/axumrouter-backend already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+df1ae0f7dd168513de2d89beb2cb7a95d4fdc118" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded redox_syscall v0.8.1
[INFO] [stderr]   Downloaded crc-catalog v2.5.0
[INFO] [stderr]   Downloaded config v0.14.1
[INFO] [stderr]   Downloaded yaml-rust2 v0.8.1
[INFO] [stderr]   Downloaded rust-ini v0.20.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 8badf2632ae8ef0cc80c8bee9ea7f03a7e8a13d6db5c2bdfe8eb6519113f218c
[INFO] running `Command { std: "docker" "start" "8badf2632ae8ef0cc80c8bee9ea7f03a7e8a13d6db5c2bdfe8eb6519113f218c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8badf2632ae8ef0cc80c8bee9ea7f03a7e8a13d6db5c2bdfe8eb6519113f218c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8badf2632ae8ef0cc80c8bee9ea7f03a7e8a13d6db5c2bdfe8eb6519113f218c" "/opt/rustwide/cargo-home/bin/cargo" "+df1ae0f7dd168513de2d89beb2cb7a95d4fdc118" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8badf2632ae8ef0cc80c8bee9ea7f03a7e8a13d6db5c2bdfe8eb6519113f218c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8badf2632ae8ef0cc80c8bee9ea7f03a7e8a13d6db5c2bdfe8eb6519113f218c" "/opt/rustwide/cargo-home/bin/cargo" "+df1ae0f7dd168513de2d89beb2cb7a95d4fdc118" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling cc v1.2.65
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]     Checking bytes v1.12.0
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]     Checking socket2 v0.6.4
[INFO] [stderr]     Checking mio v1.2.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]     Checking litemap v0.8.2
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]     Checking http v1.4.2
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling crc-catalog v2.5.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling pest v2.8.6
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling uuid v1.23.4
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling openssl-sys v0.9.117
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling pest_meta v2.8.6
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling time-core v0.1.9
[INFO] [stderr]     Checking ipnet v2.12.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling time-macros v0.2.31
[INFO] [stderr]     Checking hashlink v0.10.0
[INFO] [stderr]     Checking bitflags v2.13.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]     Checking regex-syntax v0.8.11
[INFO] [stderr]     Checking num-bigint v0.4.8
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking zeroize v1.9.0
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking http-range-header v0.4.2
[INFO] [stderr]     Checking rust-ini v0.20.0
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]     Checking rustls-pki-types v1.14.1
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking yaml-rust2 v0.8.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking time v0.3.53
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking pem v3.0.6
[INFO] [stderr]     Checking matchit v0.7.3
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]     Checking simple_asn1 v0.6.4
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking jsonwebtoken v9.3.1
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking sqlx-core v0.8.6
[INFO] [stderr]     Checking h2 v0.4.15
[INFO] [stderr]     Checking config v0.14.1
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking sqlx-sqlite v0.8.6
[INFO] [stderr]     Checking hyper v1.10.1
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]     Checking sqlx v0.8.6
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking axumrouter v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]  --> src/providers/cloudflare/auth.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 5 |     #[serde(default, alias = "apiKey")]
[INFO] [stdout]   |                              -------- matches all the relevant values
[INFO] [stdout] 6 |     pub api_key: String,
[INFO] [stdout] 7 |     #[serde(default, alias = "apiKey")]
[INFO] [stdout]   |                              ^^^^^^^^ no value can reach this
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/providers/cloudflare/auth.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  9 |     #[serde(default, alias = "accountId")]
[INFO] [stdout]    |                              ----------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub accountId: String,
[INFO] [stdout]    |         ^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]  --> src/providers/cloudflare/auth.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 5 |     #[serde(default, alias = "apiKey")]
[INFO] [stdout]   |                              -------- matches all the relevant values
[INFO] [stdout] 6 |     pub api_key: String,
[INFO] [stdout] 7 |     #[serde(default, alias = "apiKey")]
[INFO] [stdout]   |                              ^^^^^^^^ no value can reach this
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/providers/cloudflare/auth.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  9 |     #[serde(default, alias = "accountId")]
[INFO] [stdout]    |                              ----------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub accountId: String,
[INFO] [stdout]    |         ^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `ok` and `err` are never used
[INFO] [stdout]   --> src/api/responses.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<T: Serialize> ApiResponse<T> {
[INFO] [stdout]    | --------------------------------- associated functions in this implementation
[INFO] [stdout] 15 |     pub fn ok(data: T) -> Json<Self> {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn err(message: &str) -> Json<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HealthResponse` is never constructed
[INFO] [stdout]   --> src/api/responses.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct HealthResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProviderConfig` is never constructed
[INFO] [stdout]   --> src/config/models.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct ProviderConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_active` is never used
[INFO] [stdout]   --> src/db/models.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl ApiKey {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 17 |     pub fn is_active(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RequestLog` is never constructed
[INFO] [stdout]   --> src/db/models.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct RequestLog {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Usage` is never constructed
[INFO] [stdout]   --> src/db/models.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Usage {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `api_key` and `anthropic_version` are never used
[INFO] [stdout]   --> src/engine/anthropic_compat/auth.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl ApiKeyAuth {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn api_key(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn anthropic_version(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `validate_url`, `docs_url`, and `api_key_url` are never read
[INFO] [stdout]  --> src/engine/anthropic_compat/config.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct AnthropicConfig {
[INFO] [stdout]   |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 6 |     pub validate_url: &'static str,
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 7 |     pub docs_url: &'static str,
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 8 |     pub api_key_url: &'static str,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `supports_vision`, and `supports_tools` are never read
[INFO] [stdout]   --> src/engine/anthropic_compat/config.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct ModelDef {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 20 |     pub id: &'static str,
[INFO] [stdout] 21 |     pub name: &'static str,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 22 |     pub max_tokens: u32,
[INFO] [stdout] 23 |     pub supports_vision: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     pub supports_tools: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `bearer_token` and `to_header` are never used
[INFO] [stdout]   --> src/engine/openai_compat/auth.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ApiKeyAuth {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn bearer_token(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn to_header(&self, auth_header: crate::providers::spec::AuthHeader) -> (String, String) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `docs_url` and `api_key_url` are never read
[INFO] [stdout]  --> src/engine/openai_compat/config.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct OpenAIConfig {
[INFO] [stdout]   |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     pub docs_url: &'static str,
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 9 |     pub api_key_url: &'static str,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `supports_vision`, and `supports_tools` are never read
[INFO] [stdout]   --> src/engine/openai_compat/config.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct ModelDef {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 25 |     pub id: &'static str,
[INFO] [stdout] 26 |     pub name: &'static str,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 27 |     pub max_tokens: u32,
[INFO] [stdout] 28 |     pub supports_vision: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub supports_tools: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `token_economy` is never used
[INFO] [stdout]    --> src/engine/openai_compat/mapper.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl Mapper {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn token_economy(&self, _model_id: &str) -> (u32, u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `key_id` is never read
[INFO] [stdout]   --> src/providers/key_manager.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct LockedKey {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 11 |     pub key_id: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_config`, `reset_locks`, `cooldown_secs`, and `key_ids` are never used
[INFO] [stdout]    --> src/providers/key_manager.rs:67:12
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl KeyManager {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub fn with_config(keys: Vec<ApiKey>, config: KeyLockConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn reset_locks(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn cooldown_secs(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub fn key_ids(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_URL` is never used
[INFO] [stdout]  --> src/providers/cloudflare/constants.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const BASE_URL: &str = "https://api.cloudflare.com/client/v4/accounts";
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `provider_spec` is never used
[INFO] [stdout]   --> src/providers/cloudflare/constants.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn provider_spec() -> crate::providers::spec::ProviderSpec {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `supports_vision`, and `supports_tools` are never read
[INFO] [stdout]   --> src/providers/cloudflare/constants.rs:32:49
[INFO] [stdout]    |
[INFO] [stdout] 32 | ...ct ModelDef { pub id: &'static str, pub name: &'static str, pub max_tokens: u32, pub supports_vision: bool, pub supports_tools: b...
[INFO] [stdout]    |       -------- fields in this struct       ^^^^                                         ^^^^^^^^^^^^^^^            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModelDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FbDeviceCodeResponse` is never constructed
[INFO] [stdout]  --> src/providers/freebuff/auth.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct FbDeviceCodeResponse {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FbPollResponse` is never constructed
[INFO] [stdout]   --> src/providers/freebuff/auth.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct FbPollResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `request_device_code` is never used
[INFO] [stdout]   --> src/providers/freebuff/auth.rs:39:14
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub async fn request_device_code(http: &reqwest::Client) -> Result<FbDeviceCodeResponse, GatewayError> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `poll_token` is never used
[INFO] [stdout]   --> src/providers/freebuff/auth.rs:84:14
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub async fn poll_token(
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_collect` is never used
[INFO] [stdout]    --> src/providers/freebuff/client.rs:415:18
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl FbClient {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 415 |     pub async fn send_collect(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROVIDER_FULL_NAME` is never used
[INFO] [stdout]  --> src/providers/freebuff/constants.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const PROVIDER_FULL_NAME: &str = "freebuff";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLI_CODE_URL` is never used
[INFO] [stdout]  --> src/providers/freebuff/constants.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const CLI_CODE_URL: &str = "https://www.codebuff.com/api/auth/cli/code";
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLI_STATUS_URL` is never used
[INFO] [stdout]  --> src/providers/freebuff/constants.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const CLI_STATUS_URL: &str = "https://www.codebuff.com/api/auth/cli/status";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALIDATE_URL` is never used
[INFO] [stdout]  --> src/providers/freebuff/constants.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const VALIDATE_URL: &str = "https://www.codebuff.com/api/v1/chat/completions";
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STREAM_FIRST_CHUNK_TIMEOUT_SECS` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const STREAM_FIRST_CHUNK_TIMEOUT_SECS: u64 = 200;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STREAM_STALL_TIMEOUT_SECS` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const STREAM_STALL_TIMEOUT_SECS: u64 = 360;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POLL_INTERVAL_MS` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const POLL_INTERVAL_MS: u64 = 4000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POLL_TIMEOUT_SECS` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const POLL_TIMEOUT_SECS: u64 = 600;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUPPORTS_STREAMING` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const SUPPORTS_STREAMING: bool = true;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUPPORTS_VISION` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const SUPPORTS_VISION: bool = false;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUPPORTS_TOOLS` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const SUPPORTS_TOOLS: bool = true;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const ICON: &str = "bolt";
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEBSITE` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const WEBSITE: &str = "https://freebuff.com";
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FREEBUFF_MAX_TOOL_ARG_CHARS` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const FREEBUFF_MAX_TOOL_ARG_CHARS: usize = 6000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FREEBUFF_CONTEXT_PRUNER_AGENT` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const FREEBUFF_CONTEXT_PRUNER_AGENT: &str = "context-pruner";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `provider_spec` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn provider_spec() -> crate::providers::spec::ProviderSpec {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `supports_vision`, and `supports_tools` are never read
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct ModelDef {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 73 |     pub id: &'static str,
[INFO] [stdout] 74 |     pub name: &'static str,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub supports_vision: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 78 |     pub supports_tools: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModelDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/providers/freebuff/constants.rs:92:9
[INFO] [stdout]     |
[INFO] [stdout]  91 | pub struct AgenticProfile {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout]  92 |     pub native_tools: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]  93 |     pub forward_tool_choice: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  94 |     pub forward_parallel_tool_calls: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  95 |     pub inject_reasoning_content: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  96 |     pub max_messages: usize,
[INFO] [stdout]  97 |     pub max_message_chars: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  98 |     pub max_tool_chars: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]  99 |     pub strip_reasoning_params: bool,
[INFO] [stdout] 100 |     pub forward_thinking: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `store` is never used
[INFO] [stdout]  --> src/providers/freebuff/oauth.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn store() -> &'static Mutex<String> {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `email` is never read
[INFO] [stdout]  --> src/providers/kilocode/auth.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct KcOAuthCredential {
[INFO] [stdout]   |            ----------------- field in this struct
[INFO] [stdout] 4 |     pub access_token: String,
[INFO] [stdout] 5 |     pub email: Option<String>,
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `KcOAuthCredential` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `supports_vision`, and `supports_tools` are never read
[INFO] [stdout]  --> src/providers/kilocode/constants.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct ModelDef {
[INFO] [stdout]   |            -------- fields in this struct
[INFO] [stdout] 3 |     pub id: &'static str,
[INFO] [stdout] 4 |     pub name: &'static str,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 |     pub supports_vision: bool,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     pub supports_tools: bool,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ModelDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROVIDER_FULL_NAME` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const PROVIDER_FULL_NAME: &str = "kilocode";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `API_BASE_URL` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const API_BASE_URL: &str = "https://api.kilo.ai";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INITIATE_URL` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const INITIATE_URL: &str = "https://api.kilo.ai/api/device-auth/codes";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POLL_URL_BASE` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const POLL_URL_BASE: &str = "https://api.kilo.ai/api/device-auth/codes";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROFILE_URL` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const PROFILE_URL: &str = "https://api.kilo.ai/api/profile";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POLL_INTERVAL_MS` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const POLL_INTERVAL_MS: u64 = 3000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POLL_TIMEOUT_SECS` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const POLL_TIMEOUT_SECS: u64 = 300;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUPPORTS_STREAMING` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const SUPPORTS_STREAMING: bool = true;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUPPORTS_VISION` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const SUPPORTS_VISION: bool = false;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUPPORTS_TOOLS` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const SUPPORTS_TOOLS: bool = true;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const ICON: &str = "code";
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEBSITE` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const WEBSITE: &str = "https://kilocode.ai";
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORTAL_URL` is never used
[INFO] [stdout]  --> src/providers/nous_portal/constants.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const PORTAL_URL: &str = "https://portal.nousresearch.com";
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_models` is never used
[INFO] [stdout]   --> src/providers/nous_portal/client.rs:32:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl NpClient {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub async fn list_models(&self, token: &str) -> Result<serde_json::Value, String> {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PollRequest` is never constructed
[INFO] [stdout]   --> src/providers/nous_portal/oauth.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct PollRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROVIDER_FULL_NAME` is never used
[INFO] [stdout]  --> src/providers/openai_codex/constants.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const PROVIDER_FULL_NAME: &str = "codex";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOKEN_URL` is never used
[INFO] [stdout]  --> src/providers/openai_codex/constants.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const TOKEN_URL: &str = "https://auth.openai.com/oauth/token";
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `provider_spec` is never used
[INFO] [stdout]   --> src/providers/openai_codex/constants.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn provider_spec() -> crate::providers::spec::ProviderSpec {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `supports_vision`, and `supports_tools` are never read
[INFO] [stdout]   --> src/providers/openai_codex/constants.rs:35:49
[INFO] [stdout]    |
[INFO] [stdout] 35 | ...ct ModelDef { pub id: &'static str, pub name: &'static str, pub max_tokens: u32, pub supports_vision: bool, pub supports_tools: b...
[INFO] [stdout]    |       -------- fields in this struct       ^^^^                                         ^^^^^^^^^^^^^^^            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModelDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_expired` is never used
[INFO] [stdout]   --> src/providers/xai/auth.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl XaiOAuthCredential {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn is_expired(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODELS_URL` is never used
[INFO] [stdout]  --> src/providers/xai/constants.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const MODELS_URL: &str = "https://api.x.ai/v1/models";
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OAUTH_CLIENT_ID` is never used
[INFO] [stdout]   --> src/providers/xai/constants.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const OAUTH_CLIENT_ID: &str = "b1a00492-073a-47ea-816f-4c329264a828";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OAUTH_ISSUER` is never used
[INFO] [stdout]   --> src/providers/xai/constants.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const OAUTH_ISSUER: &str = "https://auth.x.ai";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OAUTH_AUTH_ENDPOINT` is never used
[INFO] [stdout]   --> src/providers/xai/constants.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const OAUTH_AUTH_ENDPOINT: &str = "https://auth.x.ai/oauth2/authorize";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OAUTH_TOKEN_ENDPOINT` is never used
[INFO] [stdout]   --> src/providers/xai/constants.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const OAUTH_TOKEN_ENDPOINT: &str = "https://auth.x.ai/oauth2/token";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OAUTH_SCOPE` is never used
[INFO] [stdout]   --> src/providers/xai/constants.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const OAUTH_SCOPE: &str = "openid profile email offline_access grok-cli:access api:access";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OAUTH_REDIRECT_PORT` is never used
[INFO] [stdout]   --> src/providers/xai/constants.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const OAUTH_REDIRECT_PORT: u16 = 56121;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OAUTH_REDIRECT_PATH` is never used
[INFO] [stdout]   --> src/providers/xai/constants.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const OAUTH_REDIRECT_PATH: &str = "/callback";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OAUTH_PKCE_VERIFIER_BYTES` is never used
[INFO] [stdout]   --> src/providers/xai/constants.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const OAUTH_PKCE_VERIFIER_BYTES: usize = 96;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `provider_spec` is never used
[INFO] [stdout]   --> src/providers/xai/constants.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn provider_spec() -> crate::providers::spec::ProviderSpec {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `supports_vision`, and `supports_tools` are never read
[INFO] [stdout]   --> src/providers/xai/constants.rs:47:49
[INFO] [stdout]    |
[INFO] [stdout] 47 | ...ct ModelDef { pub id: &'static str, pub name: &'static str, pub max_tokens: u32, pub supports_vision: bool, pub supports_tools: b...
[INFO] [stdout]    |       -------- fields in this struct       ^^^^                                         ^^^^^^^^^^^^^^^            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModelDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_ipv4` is never used
[INFO] [stdout]   --> src/utils/mod.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn is_valid_ipv4(s: &str) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `ok` and `err` are never used
[INFO] [stdout]   --> src/api/responses.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<T: Serialize> ApiResponse<T> {
[INFO] [stdout]    | --------------------------------- associated functions in this implementation
[INFO] [stdout] 15 |     pub fn ok(data: T) -> Json<Self> {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn err(message: &str) -> Json<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HealthResponse` is never constructed
[INFO] [stdout]   --> src/api/responses.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct HealthResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProviderConfig` is never constructed
[INFO] [stdout]   --> src/config/models.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct ProviderConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_active` is never used
[INFO] [stdout]   --> src/db/models.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl ApiKey {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 17 |     pub fn is_active(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RequestLog` is never constructed
[INFO] [stdout]   --> src/db/models.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct RequestLog {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Usage` is never constructed
[INFO] [stdout]   --> src/db/models.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Usage {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `api_key` and `anthropic_version` are never used
[INFO] [stdout]   --> src/engine/anthropic_compat/auth.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl ApiKeyAuth {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn api_key(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn anthropic_version(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `validate_url`, `docs_url`, and `api_key_url` are never read
[INFO] [stdout]  --> src/engine/anthropic_compat/config.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct AnthropicConfig {
[INFO] [stdout]   |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 6 |     pub validate_url: &'static str,
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 7 |     pub docs_url: &'static str,
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 8 |     pub api_key_url: &'static str,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `supports_vision`, and `supports_tools` are never read
[INFO] [stdout]   --> src/engine/anthropic_compat/config.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct ModelDef {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 20 |     pub id: &'static str,
[INFO] [stdout] 21 |     pub name: &'static str,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 22 |     pub max_tokens: u32,
[INFO] [stdout] 23 |     pub supports_vision: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     pub supports_tools: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `bearer_token` and `to_header` are never used
[INFO] [stdout]   --> src/engine/openai_compat/auth.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ApiKeyAuth {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn bearer_token(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn to_header(&self, auth_header: crate::providers::spec::AuthHeader) -> (String, String) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `docs_url` and `api_key_url` are never read
[INFO] [stdout]  --> src/engine/openai_compat/config.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct OpenAIConfig {
[INFO] [stdout]   |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     pub docs_url: &'static str,
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 9 |     pub api_key_url: &'static str,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `supports_vision`, and `supports_tools` are never read
[INFO] [stdout]   --> src/engine/openai_compat/config.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct ModelDef {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 25 |     pub id: &'static str,
[INFO] [stdout] 26 |     pub name: &'static str,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 27 |     pub max_tokens: u32,
[INFO] [stdout] 28 |     pub supports_vision: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub supports_tools: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `token_economy` is never used
[INFO] [stdout]    --> src/engine/openai_compat/mapper.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl Mapper {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn token_economy(&self, _model_id: &str) -> (u32, u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `key_id` is never read
[INFO] [stdout]   --> src/providers/key_manager.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct LockedKey {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 11 |     pub key_id: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_config`, `reset_locks`, `cooldown_secs`, and `key_ids` are never used
[INFO] [stdout]    --> src/providers/key_manager.rs:67:12
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl KeyManager {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub fn with_config(keys: Vec<ApiKey>, config: KeyLockConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn reset_locks(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn cooldown_secs(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub fn key_ids(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_URL` is never used
[INFO] [stdout]  --> src/providers/cloudflare/constants.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const BASE_URL: &str = "https://api.cloudflare.com/client/v4/accounts";
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `provider_spec` is never used
[INFO] [stdout]   --> src/providers/cloudflare/constants.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn provider_spec() -> crate::providers::spec::ProviderSpec {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `supports_vision`, and `supports_tools` are never read
[INFO] [stdout]   --> src/providers/cloudflare/constants.rs:32:49
[INFO] [stdout]    |
[INFO] [stdout] 32 | ...ct ModelDef { pub id: &'static str, pub name: &'static str, pub max_tokens: u32, pub supports_vision: bool, pub supports_tools: b...
[INFO] [stdout]    |       -------- fields in this struct       ^^^^                                         ^^^^^^^^^^^^^^^            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModelDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FbDeviceCodeResponse` is never constructed
[INFO] [stdout]  --> src/providers/freebuff/auth.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct FbDeviceCodeResponse {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FbPollResponse` is never constructed
[INFO] [stdout]   --> src/providers/freebuff/auth.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct FbPollResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `request_device_code` is never used
[INFO] [stdout]   --> src/providers/freebuff/auth.rs:39:14
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub async fn request_device_code(http: &reqwest::Client) -> Result<FbDeviceCodeResponse, GatewayError> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `poll_token` is never used
[INFO] [stdout]   --> src/providers/freebuff/auth.rs:84:14
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub async fn poll_token(
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_collect` is never used
[INFO] [stdout]    --> src/providers/freebuff/client.rs:415:18
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl FbClient {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 415 |     pub async fn send_collect(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROVIDER_FULL_NAME` is never used
[INFO] [stdout]  --> src/providers/freebuff/constants.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const PROVIDER_FULL_NAME: &str = "freebuff";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLI_CODE_URL` is never used
[INFO] [stdout]  --> src/providers/freebuff/constants.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const CLI_CODE_URL: &str = "https://www.codebuff.com/api/auth/cli/code";
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLI_STATUS_URL` is never used
[INFO] [stdout]  --> src/providers/freebuff/constants.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const CLI_STATUS_URL: &str = "https://www.codebuff.com/api/auth/cli/status";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALIDATE_URL` is never used
[INFO] [stdout]  --> src/providers/freebuff/constants.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const VALIDATE_URL: &str = "https://www.codebuff.com/api/v1/chat/completions";
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STREAM_FIRST_CHUNK_TIMEOUT_SECS` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const STREAM_FIRST_CHUNK_TIMEOUT_SECS: u64 = 200;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STREAM_STALL_TIMEOUT_SECS` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const STREAM_STALL_TIMEOUT_SECS: u64 = 360;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POLL_INTERVAL_MS` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const POLL_INTERVAL_MS: u64 = 4000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POLL_TIMEOUT_SECS` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const POLL_TIMEOUT_SECS: u64 = 600;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUPPORTS_STREAMING` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const SUPPORTS_STREAMING: bool = true;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUPPORTS_VISION` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const SUPPORTS_VISION: bool = false;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUPPORTS_TOOLS` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const SUPPORTS_TOOLS: bool = true;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const ICON: &str = "bolt";
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEBSITE` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const WEBSITE: &str = "https://freebuff.com";
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FREEBUFF_MAX_TOOL_ARG_CHARS` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const FREEBUFF_MAX_TOOL_ARG_CHARS: usize = 6000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FREEBUFF_CONTEXT_PRUNER_AGENT` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const FREEBUFF_CONTEXT_PRUNER_AGENT: &str = "context-pruner";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `provider_spec` is never used
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn provider_spec() -> crate::providers::spec::ProviderSpec {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `supports_vision`, and `supports_tools` are never read
[INFO] [stdout]   --> src/providers/freebuff/constants.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct ModelDef {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 73 |     pub id: &'static str,
[INFO] [stdout] 74 |     pub name: &'static str,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub supports_vision: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 78 |     pub supports_tools: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModelDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/providers/freebuff/constants.rs:92:9
[INFO] [stdout]     |
[INFO] [stdout]  91 | pub struct AgenticProfile {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout]  92 |     pub native_tools: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]  93 |     pub forward_tool_choice: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  94 |     pub forward_parallel_tool_calls: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  95 |     pub inject_reasoning_content: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  96 |     pub max_messages: usize,
[INFO] [stdout]  97 |     pub max_message_chars: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  98 |     pub max_tool_chars: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]  99 |     pub strip_reasoning_params: bool,
[INFO] [stdout] 100 |     pub forward_thinking: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `store` is never used
[INFO] [stdout]  --> src/providers/freebuff/oauth.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn store() -> &'static Mutex<String> {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `email` is never read
[INFO] [stdout]  --> src/providers/kilocode/auth.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct KcOAuthCredential {
[INFO] [stdout]   |            ----------------- field in this struct
[INFO] [stdout] 4 |     pub access_token: String,
[INFO] [stdout] 5 |     pub email: Option<String>,
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `KcOAuthCredential` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `supports_vision`, and `supports_tools` are never read
[INFO] [stdout]  --> src/providers/kilocode/constants.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct ModelDef {
[INFO] [stdout]   |            -------- fields in this struct
[INFO] [stdout] 3 |     pub id: &'static str,
[INFO] [stdout] 4 |     pub name: &'static str,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 |     pub supports_vision: bool,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     pub supports_tools: bool,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ModelDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROVIDER_FULL_NAME` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const PROVIDER_FULL_NAME: &str = "kilocode";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `API_BASE_URL` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const API_BASE_URL: &str = "https://api.kilo.ai";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INITIATE_URL` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const INITIATE_URL: &str = "https://api.kilo.ai/api/device-auth/codes";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POLL_URL_BASE` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const POLL_URL_BASE: &str = "https://api.kilo.ai/api/device-auth/codes";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROFILE_URL` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const PROFILE_URL: &str = "https://api.kilo.ai/api/profile";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POLL_INTERVAL_MS` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const POLL_INTERVAL_MS: u64 = 3000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POLL_TIMEOUT_SECS` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const POLL_TIMEOUT_SECS: u64 = 300;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUPPORTS_STREAMING` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const SUPPORTS_STREAMING: bool = true;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUPPORTS_VISION` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const SUPPORTS_VISION: bool = false;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUPPORTS_TOOLS` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const SUPPORTS_TOOLS: bool = true;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const ICON: &str = "code";
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEBSITE` is never used
[INFO] [stdout]   --> src/providers/kilocode/constants.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const WEBSITE: &str = "https://kilocode.ai";
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORTAL_URL` is never used
[INFO] [stdout]  --> src/providers/nous_portal/constants.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const PORTAL_URL: &str = "https://portal.nousresearch.com";
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_models` is never used
[INFO] [stdout]   --> src/providers/nous_portal/client.rs:32:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl NpClient {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub async fn list_models(&self, token: &str) -> Result<serde_json::Value, String> {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PollRequest` is never constructed
[INFO] [stdout]   --> src/providers/nous_portal/oauth.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct PollRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROVIDER_FULL_NAME` is never used
[INFO] [stdout]  --> src/providers/openai_codex/constants.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const PROVIDER_FULL_NAME: &str = "codex";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOKEN_URL` is never used
[INFO] [stdout]  --> src/providers/openai_codex/constants.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const TOKEN_URL: &str = "https://auth.openai.com/oauth/token";
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `provider_spec` is never used
[INFO] [stdout]   --> src/providers/openai_codex/constants.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn provider_spec() -> crate::providers::spec::ProviderSpec {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `supports_vision`, and `supports_tools` are never read
[INFO] [stdout]   --> src/providers/openai_codex/constants.rs:35:49
[INFO] [stdout]    |
[INFO] [stdout] 35 | ...ct ModelDef { pub id: &'static str, pub name: &'static str, pub max_tokens: u32, pub supports_vision: bool, pub supports_tools: b...
[INFO] [stdout]    |       -------- fields in this struct       ^^^^                                         ^^^^^^^^^^^^^^^            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModelDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_expired` is never used
[INFO] [stdout]   --> src/providers/xai/auth.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl XaiOAuthCredential {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn is_expired(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODELS_URL` is never used
[INFO] [stdout]  --> src/providers/xai/constants.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const MODELS_URL: &str = "https://api.x.ai/v1/models";
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OAUTH_CLIENT_ID` is never used
[INFO] [stdout]   --> src/providers/xai/constants.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const OAUTH_CLIENT_ID: &str = "b1a00492-073a-47ea-816f-4c329264a828";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OAUTH_ISSUER` is never used
[INFO] [stdout]   --> src/providers/xai/constants.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const OAUTH_ISSUER: &str = "https://auth.x.ai";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OAUTH_AUTH_ENDPOINT` is never used
[INFO] [stdout]   --> src/providers/xai/constants.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const OAUTH_AUTH_ENDPOINT: &str = "https://auth.x.ai/oauth2/authorize";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OAUTH_TOKEN_ENDPOINT` is never used
[INFO] [stdout]   --> src/providers/xai/constants.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const OAUTH_TOKEN_ENDPOINT: &str = "https://auth.x.ai/oauth2/token";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OAUTH_SCOPE` is never used
[INFO] [stdout]   --> src/providers/xai/constants.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const OAUTH_SCOPE: &str = "openid profile email offline_access grok-cli:access api:access";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OAUTH_REDIRECT_PORT` is never used
[INFO] [stdout]   --> src/providers/xai/constants.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const OAUTH_REDIRECT_PORT: u16 = 56121;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OAUTH_REDIRECT_PATH` is never used
[INFO] [stdout]   --> src/providers/xai/constants.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const OAUTH_REDIRECT_PATH: &str = "/callback";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OAUTH_PKCE_VERIFIER_BYTES` is never used
[INFO] [stdout]   --> src/providers/xai/constants.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const OAUTH_PKCE_VERIFIER_BYTES: usize = 96;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `provider_spec` is never used
[INFO] [stdout]   --> src/providers/xai/constants.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn provider_spec() -> crate::providers::spec::ProviderSpec {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `supports_vision`, and `supports_tools` are never read
[INFO] [stdout]   --> src/providers/xai/constants.rs:47:49
[INFO] [stdout]    |
[INFO] [stdout] 47 | ...ct ModelDef { pub id: &'static str, pub name: &'static str, pub max_tokens: u32, pub supports_vision: bool, pub supports_tools: b...
[INFO] [stdout]    |       -------- fields in this struct       ^^^^                                         ^^^^^^^^^^^^^^^            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModelDef` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_ipv4` is never used
[INFO] [stdout]   --> src/utils/mod.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn is_valid_ipv4(s: &str) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `apiToken` should have a snake case name
[INFO] [stdout]  --> src/providers/cloudflare/auth.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub apiToken: String,
[INFO] [stdout]   |         ^^^^^^^^ help: convert the identifier to snake case: `api_token`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `accountId` should have a snake case name
[INFO] [stdout]   --> src/providers/cloudflare/auth.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub accountId: String,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `account_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `apiToken` should have a snake case name
[INFO] [stdout]  --> src/providers/cloudflare/auth.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub apiToken: String,
[INFO] [stdout]   |         ^^^^^^^^ help: convert the identifier to snake case: `api_token`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `accountId` should have a snake case name
[INFO] [stdout]   --> src/providers/cloudflare/auth.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub accountId: String,
[INFO] [stdout]    |         ^^^^^^^^^ help: convert the identifier to snake case: `account_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 29s
[INFO] running `Command { std: "docker" "inspect" "8badf2632ae8ef0cc80c8bee9ea7f03a7e8a13d6db5c2bdfe8eb6519113f218c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8badf2632ae8ef0cc80c8bee9ea7f03a7e8a13d6db5c2bdfe8eb6519113f218c", kill_on_drop: false }`
[INFO] [stdout] 8badf2632ae8ef0cc80c8bee9ea7f03a7e8a13d6db5c2bdfe8eb6519113f218c
